Mit UPKG ein Packet erstellen und installieren
Diese Anleitung erklärt Euch, wie Ihr ein Source-Paket mit Upkg für Paldo erstellt und installieren könnt. Die Paldo-Philosophy ist ja, ein Programm für eine Aufgabe. Nur manchmal ist man auf ein Programm angewiesen oder will ein bestimmtes seinem Paldo-System hinzufügen. Mit Upkg und einer lokalen Repository ist dies kein Problem. Erstellung einer lokalen Paldo Repository Zuerst benötigen wir eine Ordnerstruktur, wohin wir unsere Sourcen packen. Wo sich diese Struktur befindet ist egal. Ich hab meine im Home-Ordner. amnon@amsoft:~$mkdir PaldoRepo amnon@amsoft:~$mkdir PaldoRepo/binaries amnon@amsoft:~$mkdir PaldoRepo/sources amnon@amsoft:~$mkdir PaldoRepo/specs Nun müssen wir Upkg noch mitteilen, wo es die Repository findet. Editiere Deine /etc/upkg.conf als Root. Sie sollte dann zum Beispiel so aussehen: $ su Password: enter your root password # sed -i -e 's%%&\n'Pfad zu Deiner lokalen Repository'%' /etc/upkg.conf Sich die Quellcode eines Programms besorgen Nun ladest Du die Source von dem Programm herrunter, welches Du installieren möchtest. Ich nehme für dieses Beispiel den [http://gftp.seul.org/gftp-2.0.18.tar.bz2" Tarball von gFTP] her. Upkg benötigt das Source-Archiv als tar (tar-Datei) oder als tar.bz2-Datei (bzip2 komprimierte tar-Datei). Seit der Version 0.236 werden auch tgz-Archive unterstützt. Achte darauf, dass das Source-Archiv das entsprechende Dateiformat hat. Kopiere es dann in den sources-Ordner Deiner lokalen Repository. Upkg wird das Packet nur finden, wenn Du's unter $REPOSITORYVERZEICHNIS/sources/$PACKETNAME speicherst. Da mein Archiv sich gftp-2.0.18.tar.bz2 nennt, belasse ich es dabei und werde das Packet gftp nennen. amnon@amsoft:~/sources/gftpls gftp-2.0.18.tar.bz2 amnon@amsoft:~/sources/gftpmv gftp-2.0.18.tar.bz2 ~/PaldoRepo/sources/gftp/ Falls Du doch tar.gz benutzen willst, musst Du diese Kompression Upkg mitteilen: ' Ist Dein Archiv ein tgz-Archiv und Du hast mindestens die Version 0.236 von UPKG installiert kannst Du UPKG dies folgendermaßen mitteilen: ' Dann würde UPKG nach gftp-2.0.18.tgz suchen. Erstellung der Spec-Datei für Upkg Nun müssen wir Upkg mitteilen, wie der Packetmanager mit dem Quellcode umgehen soll. Dies geschieht durch eine simple XML-Datei. Der Name des Titels sollte der Packetname sein. Im Beispiel ist dieser gftp. Die Datei schaut wie folgt aus: GNOME FTP Client Diese Datei wird dann in den specs-Ordner als gftp.xml gespeichert. Upkg benötigt die .xml-Endung, da es sonst das Packet nicht finden würde. Falls Dein Packet Abhängigkeiten zu anderen Packet hat sieht die XML-Datei so aus: PACKETBESCHREIBUNG Schaut auf unsere Hompage, um die Namen der Abhängigkeiten (Dependencies) herauszubekommen: http://www.paldo.org/index-section-packages.html Hier ein Beispiel: Wie man die Abhängigkeiten herausbekommt: * Lese die Datei configure.in oder configure.ac in der Source-Distribution. Du wirst zum Beispiel diese Zeile finden: PKG_CHECK_MODULES(GNOME, libgnomeui-2.0 gtk+-2.0 >= 2.4.0 glib-2.0 >= 2.4.0 libglade-2.0 gstreamer-0.8,,exit). In diesem Fall ist es recht einfach die Abhängigkeiten herauszubkommen. Sie sind alle in der PKG_CHECK_MODULES-list gelistet. Paldo benutzt meist die gleichen Packetnamen. libgnomeui-2.0 ist in der Paldo-Repository auch unter libgnomeui-2.0 gelistet. * Ließ die README, INSTALL,... Dateien. Manche Projekte listen dort die Abhängigkeiten auf. * Kopiers von einer anderen Distribution. Falls nichts hilft kannst Du immer noch bei anderen Distributions nachschauen, was die für eine Abhängigkeitsliste haben. Die finale gftp.xml würde so aussehen: GNOME FTP Client $LDFLAGS -Wl,--as-needed Starten der Compilierung und Installation Nun sind wir bereit das Packet zu compilen und das Programm somit zu installieren. Folgendes Kommando startet das Ganze: amnon@amsoft:~#su amnon@amsoft:~#password: root@amsoft:~# upkg-build gftp Generating script... Writing script... Executing script... The following extra packages will be installed: gftp The following packages will be built from source: gftp Do you want to continue? Y/n Building gftp-2.0.18-1 (stable)... root@amsoft:~# Wenn Du die Meldungen der Compilierung sehen willst starte die Installation mit: root@amsoft:~# upkg-build --verbose gftp Um das Packet wieder zu entfernen führe folgendes Kommando aus: root@amsoft:~# upkg-remove gftp Somit ist das Packet dann restlos von Deinem System deinstalliert.